/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：phoneHistory 曾用电话历史记录表相关数据任务
 * @Package: com.yl.staff.controller 
 * @author: Bai   
 * @date: 2021年1月15日 下午3:03:24 
 */
package com.yl.staff.controller;

import java.util.List;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.yl.staff.dao.MapPhoneHistory;
import com.yl.staff.model.BeanPhoneHistory;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: PhoneHistoryController.java
* @Description:phoneHistory 登记在案的曾用电话历史记录表相关数据任务
*
* @version: v1.2.0
* @author: Bai
* @date: 2021年1月15日 下午3:03:24 
*
* Modification History:<br>
* Date         Author          Version            Description
*---------------------------------------------------------*<br>
* 2021年1月15日     Bai             v1.0.0             新建<br>
* 2021年1月20日     Bai             v1.1.0             新增 添加员工基本信息方法
* 												  addHistoryPhone(BeanPhoneHistory bph)
* 												      新增 根据数据编号更改数据信息方法
* 												  upHistoryPhone(BeanPhoneHistory bph)<br>
* 2021年1月22日     Bai             v1.2.0             新增 获取所有曾用电话信息
*/
/*
 * 功能列表：
* 	Date         Author          Method            				 Description
*	---------------------------------------------------------------------*<br>
*	2020年01月15日     Bai            findCount()        				 					获取曾用电话数据汇总数量
* 	2020年01月15日     Bai            findCountByStaffCode(String staffCode) 				根据员工工号获取曾用电话数据汇总数量
* 	2020年01月15日     Bai            findHistoryPhoneById(int id)						根据数据编号获取曾用电话
*  	2020年01月15日     Bai            findHistoryPhoneByStaffCode(String staffCode)		根据员工编号获取曾用电话
*   2021年01月20日     Bai            addHistoryPhone(BeanPhoneHistory bph)				添加曾用电话信息
*   2021年01月20日     Bai            upHistoryPhone(BeanPhoneHistory bph)				根据数据编号更新数据信息
*   2021年01月22日     Bai            findAll()											获取所有曾用电话信息
 * */
@RestController
@MapperScan("com.yl.staff.dao")
@Api(value = "基础数据接口", tags = "曾用电话信息相关")
public class PhoneHistoryController {
	/*
	 * phone-history 数据接口对象
	 * */
	@Autowired
	private MapPhoneHistory phoneHistory;
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 获取曾用电话数据汇总数量
	*
	* @param:无
	* @return：Integer 数量
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月15日 下午3:26:44 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月15日     Bai             v1.0.0                                    新建<br>
	 */
	@RequestMapping(value = "/phoneCount",method = RequestMethod.GET)
	@ApiOperation(value = "获取曾用电话数据汇总数量")
	public Integer findCount() {
		return phoneHistory.selectCount();
	};
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 根据员工工号获取曾用电话数据汇总数量
	*
	* @param:String staffCode 员工编号
	* @return：Integer 数据汇总数量 OR 0
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月15日 下午3:36:53 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月15日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value = "/staffPhoneCount",method = RequestMethod.POST)
	@ApiOperation(value = "根据员工工号获取曾用电话数据汇总数量")
	public Integer findCountByStaffCode(@ApiParam(name = "staffCode", value = "员工编号", required = true) @RequestParam(name = "staffCode")String staffCode) {
		return phoneHistory.selectCountByStaffCode(staffCode);
	}
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 根据数据编号获取曾用电话
	*
	* @param:int id 数据编号
	* @return：BeanPhoneHistory 电话信息 OR null
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月15日 下午4:03:04 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月15日     Bai           v1.0.0               修改原因 <br>
	 */
	@RequestMapping(value = "/findPhone",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号获取曾用电话")
	public BeanPhoneHistory findHistoryPhoneById(@ApiParam(name = "id", value = "数据编号", required = true) @RequestParam(name = "id")int id) {
		return phoneHistory.selectById(id);
	}
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 根据员工编号获取曾用电话
	*
	* @param: String staffCode
	* @return：List<BeanPhoneHistory> 曾用电话集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月15日 下午5:14:48 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月15日     Bai           v1.0.0                                          新建<br>
	 */
	@RequestMapping(value = "/findPhones",method = RequestMethod.POST)
	@ApiOperation(value = "根据员工编号获取曾用电话")
	public List<BeanPhoneHistory> findHistoryPhoneByStaffCode(@ApiParam(name = "staffCode",value="员工编号",required = true) @RequestParam(name = "staffCode")String staffCode){
		return phoneHistory.selectByStaffCode(staffCode);
	}
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 添加曾用电话信息
	*
	* @param:BeanPhoneHistory 曾用电话信息实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月20日 上午11:35:38 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月20日     Bai             v1.0.0                                     新建<br>
	 */
	@RequestMapping(value = "/addHistoryPhone",method = RequestMethod.POST)
	@ApiOperation(value = "添加曾用电话信息")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=false,value="此参数禁止填写"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=true,value="员工编号"),
		@ApiImplicitParam(paramType="query",name="phoneNumber",dataType="String",required=true,value="曾用号码")
	})
	public boolean addHistoryPhone(BeanPhoneHistory bph) {
		return phoneHistory.insertInto(bph);
	}
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description: 根据数据编号更新数据信息
	*
	* @param:BeanPhoneHistory 曾用电话信息实体
	* @return： boolean true OR false 
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 上午11:01:26 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月20日     Bai             v1.0.0                                   新建 <br>
	 */
	@RequestMapping(value = "/upHistoryPhone",method = RequestMethod.POST)
	@ApiOperation(value = "根据数据编号更新数据信息")
	@ApiImplicitParams({
		@ApiImplicitParam(paramType="query",name="id",dataType="int",required=true,value="数据编号"),
		@ApiImplicitParam(paramType="query",name="staffCode",dataType="String",required=true,value="员工编号"),
		@ApiImplicitParam(paramType="query",name="phoneNumber",dataType="String",required=true,value="曾用号码")
	})
	public boolean upHistoryPhone(BeanPhoneHistory bph) {
		return phoneHistory.updateData(bph);
	}	
	/**
	 * 
	* @Function: PhoneHistoryController.java
	* @Description:查找所有曾用电话信息
	*
	* @param: 无
	* @return：List<BeanPhoneHistory> 曾用电话实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年1月22日 上午10:45:51 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年1月22日     Bai           v1.0.0             	      新建 <br>
	 */
	@RequestMapping(value = "/usedPhoneData",method = RequestMethod.GET)
	@ApiOperation(value = "获取所有曾用电话信息")
	public List<BeanPhoneHistory> findAll(){
		return phoneHistory.selectAll();
	}
}
